//package com.youka.bussiness.common.alibaba;
//
//import com.aliyuncs.DefaultAcsClient;
//import com.aliyuncs.IAcsClient;
//import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsRequest;
//import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsResponse;
//import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
//import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
//import com.aliyuncs.exceptions.ClientException;
//import com.aliyuncs.profile.DefaultProfile;
//import com.aliyuncs.profile.IClientProfile;
//import com.youka.bussiness.common.base.BaseException;
//import com.youka.bussiness.common.utils.DateUtil;
//import com.youka.bussiness.common.utils.JsonUtil;
//import org.apache.commons.collections.map.HashedMap;
//
//import java.util.Map;
//
///*********************************
// * 文件名称: AliYunSms.java
// * 功能说明: 短信发送
// * 开发人员：liujinliang
// * 开发时间：2018/6/13 10:47
// *********************************/
//public class AliYunSms {
//
//    /**
//     * 产品名称:云通信短信API产品,开发者无需替换
//     */
//    private static final String PRODUCT = "Dysmsapi";
//
//    /**
//     * 产品域名,开发者无需替换
//     */
//    private static final String DOMAIN = "dysmsapi.aliyuncs.com";
//
//    /**
//     * 秘钥编号
//     */
//    private static final String ACCESS_KEY_ID = "LTAI5tDB3d8i8xD1qzXXJ3S4";
//
//    /**
//     * 秘钥Key
//     */
//    private static final String ACCESS_KEY_SECRET = "GoNyoIea41grOTn6atpkkT1tjvwCJm";
//
//    /**
//     * 发送短信
//     *
//     * @param mobile 接收方电话号码
//     * @param temple 短信模板  SMS_167050474
//     * @param map    map：map.put("account", "18358587758");map.put("password", "sjdkfjksljdkfsjfd");
//     * @return
//     * @throws ClientException
//     */
//    public static SendSmsResponse sendSms(String mobile, String temple, Map<String, Object> map) {
//        try {
//            //可自助调整超时时间
//            System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
//            System.setProperty("sun.net.client.defaultReadTimeout", "10000");
//
//            //初始化acsClient,暂不支持region化
//            IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", ACCESS_KEY_ID, ACCESS_KEY_SECRET);
////            DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", PRODUCT, DOMAIN);
//            IAcsClient acsClient = new DefaultAcsClient(profile);
//
//            //组装请求对象-具体描述见控制台-文档部分内容
//            SendSmsRequest request = new SendSmsRequest();
//
//            //必填:待发送手机号
//            request.setPhoneNumbers(mobile);
//
//            //必填:短信签名-可在短信控制台中找到
////            request.setSignName("凯发闽聚");
//
//            //必填:短信模板-可在短信控制台中找到
//            request.setTemplateCode(temple);
//
//            //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
//            request.setTemplateParam(JsonUtil.objectToJson(map));
//
//            //选填-上行短信扩展码(无特殊需求用户请忽略此字段)
//            //request.setSmsUpExtendCode("90997");
//
//            //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
//            //request.setOutId("YouOutID");
//
//            //此处可能会抛出异常
//            SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
//
//            return sendSmsResponse;
//        } catch (ClientException e) {
//            throw new BaseException("MG-100001", "短信发送失败,请稍后再试");
//        }
//    }
//
//    /**
//     * 查询短信发送结果
//     *
//     * @param bizId
//     * @return
//     * @throws ClientException
//     */
//    public static QuerySendDetailsResponse checkSms(String bizId, String mobile) {
//        try {
//            //可自助调整超时时间
//            System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
//            System.setProperty("sun.net.client.defaultReadTimeout", "10000");
//
//            //初始化acsClient,暂不支持region化
//            IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", ACCESS_KEY_ID, ACCESS_KEY_SECRET);
//            DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", PRODUCT, DOMAIN);
//            IAcsClient acsClient = new DefaultAcsClient(profile);
//
//            //组装请求对象
//            QuerySendDetailsRequest request = new QuerySendDetailsRequest();
//
//            //必填-号码
//            request.setPhoneNumber(mobile);
//
//            //可选-流水号
//            request.setBizId(bizId);
//
//            //必填-发送日期 支持30天内记录查询，格式yyyyMMdd
//            request.setSendDate(DateUtil.getDate());
//
//            //必填-页大小
//            request.setPageSize(10L);
//
//            //必填-当前页码从1开始计数
//            request.setCurrentPage(1L);
//
//            //此处可能会抛出异常
//            QuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request);
//
//            return querySendDetailsResponse;
//        } catch (ClientException e) {
//            throw new BaseException("MG-100001", "检查短信发送状态发生异常");
//        }
//    }
//
//    public static void main(String[] args) {
//        Map map = new HashedMap();
//        map.put("code", "123589");
//        sendSms("15070057175", "SMS_215090012", map);
//    }
//}